|
this は、プログラミング言語に出てくる概念のひとつで、自身の動いているオブジェクトを指す予約語。主にインスタンスメソッド内で使用される。this の他にself 、Me といった語を使う言語もあるが、言語を問わず概念は共通しているので、以下ではthis で代表させて記述することとする。==概要== this は現在のオブジェクトを指した参照、あるいはポインタであり、たいていの場合は変更不可能である。オブジェクトが生成すると、 this への参照はつねに有効なものとなる。これは明示的に参照しなければならない言語もあれば、静的スコープで暗黙のうちに解決している言語もある。ただし、this を暗黙のうちに解決する言語でも、明示的にthis を必要とする場面(ローカル変数で隠蔽されている同名のインスタンス変数を参照する場合や、自身への参照を返り値とする場合など)もある。this はインスタンスメソッドへの引数となっている。例えば、C++で書いた以下のようなメソッドは、本質的にはC言語での以下のような呼び出しに相当している。 PythonやPerl 5など、言語によっては this をメソッドへの1つ目の引数として明記する必要がある。この引数の名前をthis やself とする必然性はなく、他の引数と同様にどんな名前を付けても文法上問題はない。ただし、通常の場合、PythonやPerlでは慣習的にself が使われる。GCCなど、一部のC++コンパイラでは、 this を引数に明示することで、その型を別なポインタに変えることができる〔Bound member functions - Using the GNU Compiler Collection (GCC) 〕。C++やJavaでの静的メソッドはインスタンスに対応せずクラスに所属するものであるため、 this は使えない。Python、Ruby、Smalltalk、Objective-Cなどでは、「クラスオブジェクト」のメソッド(クラスメソッド)となっていて、this はクラスオブジェクトを指す。抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「This (プログラミング)」の詳細全文を読む スポンサード リンク
|